
<!doctype html>
<html lang="en">

<head>
    <title>Code coverage report for All files</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="prettify.css" />
    <link rel="stylesheet" href="base.css" />
    <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type='text/css'>
        .coverage-summary .sorter {
            background-image: url(sort-arrow-sprite.png);
        }
    </style>
</head>
    
<body>
<div class='wrapper'>
    <div class='pad1'>
        <h1>All files</h1>
        <div class='clearfix'>
            
            <div class='fl pad1y space-right2'>
                <span class="strong">34.38% </span>
                <span class="quiet">Statements</span>
                <span class='fraction'>1313/3819</span>
            </div>
        
            
            <div class='fl pad1y space-right2'>
                <span class="strong">23.39% </span>
                <span class="quiet">Branches</span>
                <span class='fraction'>532/2274</span>
            </div>
        
            
            <div class='fl pad1y space-right2'>
                <span class="strong">26.59% </span>
                <span class="quiet">Functions</span>
                <span class='fraction'>150/564</span>
            </div>
        
            
            <div class='fl pad1y space-right2'>
                <span class="strong">34.68% </span>
                <span class="quiet">Lines</span>
                <span class='fraction'>1299/3745</span>
            </div>
        
            
        </div>
        <p class="quiet">
            Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
        </p>
        <template id="filterTemplate">
            <div class="quiet">
                Filter:
                <input type="search" id="fileSearch">
            </div>
        </template>
    </div>
    <div class='status-line low'></div>
    <div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
   <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
   <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
   <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
   <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
   <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
   <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
   <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
   <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
   <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
   <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
	<td class="file low" data-value="config"><a href="config/index.html">config</a></td>
	<td data-value="0" class="pic low">
	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
	</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="53" class="abs low">0/53</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="42" class="abs low">0/42</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="13" class="abs low">0/13</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="52" class="abs low">0/52</td>
	</tr>

<tr>
	<td class="file low" data-value="dao"><a href="dao/index.html">dao</a></td>
	<td data-value="10.1" class="pic low">
	<div class="chart"><div class="cover-fill" style="width: 10%"></div><div class="cover-empty" style="width: 90%"></div></div>
	</td>
	<td data-value="10.1" class="pct low">10.1%</td>
	<td data-value="1613" class="abs low">163/1613</td>
	<td data-value="5.61" class="pct low">5.61%</td>
	<td data-value="1210" class="abs low">68/1210</td>
	<td data-value="14.59" class="pct low">14.59%</td>
	<td data-value="185" class="abs low">27/185</td>
	<td data-value="10.08" class="pct low">10.08%</td>
	<td data-value="1596" class="abs low">161/1596</td>
	</tr>

<tr>
	<td class="file low" data-value="middleware"><a href="middleware/index.html">middleware</a></td>
	<td data-value="0" class="pic low">
	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
	</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="217" class="abs low">0/217</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="114" class="abs low">0/114</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="50" class="abs low">0/50</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="200" class="abs low">0/200</td>
	</tr>

<tr>
	<td class="file low" data-value="models"><a href="models/index.html">models</a></td>
	<td data-value="40.75" class="pic low">
	<div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
	</td>
	<td data-value="40.75" class="pct low">40.75%</td>
	<td data-value="822" class="abs low">335/822</td>
	<td data-value="12.41" class="pct low">12.41%</td>
	<td data-value="298" class="abs low">37/298</td>
	<td data-value="12.36" class="pct low">12.36%</td>
	<td data-value="186" class="abs low">23/186</td>
	<td data-value="41.26" class="pct low">41.26%</td>
	<td data-value="807" class="abs low">333/807</td>
	</tr>

<tr>
	<td class="file high" data-value="services"><a href="services/index.html">services</a></td>
	<td data-value="81.58" class="pic high">
	<div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
	</td>
	<td data-value="81.58" class="pct high">81.58%</td>
	<td data-value="999" class="abs high">815/999</td>
	<td data-value="74.65" class="pct medium">74.65%</td>
	<td data-value="572" class="abs medium">427/572</td>
	<td data-value="89.28" class="pct high">89.28%</td>
	<td data-value="112" class="abs high">100/112</td>
	<td data-value="81.56" class="pct high">81.56%</td>
	<td data-value="987" class="abs high">805/987</td>
	</tr>

<tr>
	<td class="file low" data-value="utils"><a href="utils/index.html">utils</a></td>
	<td data-value="0" class="pic low">
	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
	</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="115" class="abs low">0/115</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="38" class="abs low">0/38</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="18" class="abs low">0/18</td>
	<td data-value="0" class="pct low">0%</td>
	<td data-value="103" class="abs low">0/103</td>
	</tr>

</tbody>
</table>
</div>
                <div class='push'></div><!-- for sticky footer -->
            </div><!-- /wrapper -->
            <div class='footer quiet pad2 space-top1 center small'>
                Code coverage generated by
                <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
                at 2025-08-29T09:34:35.363Z
            </div>
        <script src="prettify.js"></script>
        <script>
            window.onload = function () {
                prettyPrint();
            };
        </script>
        <script src="sorter.js"></script>
        <script src="block-navigation.js"></script>
    </body>
</html>
    